# Mission 10 Battery Tester # One possible solution for extension # User LEDs for the UI from botcore import * from time import sleep def vbatt_load(): # Turn on 4 LEDs & read volts leds.user(15) v = system.pwr_volts() leds.user(0) return v def batt_level(v): pct = (v / 2) - 2 if pct > 1: pct = 1.0 elif pct < 0: pct = 0.0 print("Batt Level:", v, "->", pct) return pct def check_batt(pct): if pct < 0.2: leds.pwr(True) return if pct > 0.6: blinks = 1 else: blinks = 2 while blinks > 0: leds.pwr(True) sleep(0.5) leds.pwr(False) sleep(0.2) blinks = blinks - 1 def batt_UI(pct): if pct >= 0.9: leds.user(0b11111111) elif pct >= 0.8: leds.user(0b01111111) elif pct >= 0.7: leds.user(0b00111111) elif pct >= 0.6: leds.user(0b00011111) elif pct >= 0.5: leds.user(0b00001111) elif pct >= 0.4: leds.user(0b00000111) elif pct >= 0.3: leds.user(0b00000011) elif pct >= 0.2: leds.user(0b00000001) else: leds.user(0) # -- Main program -- print("Current load") vb = vbatt_load() my_capacity = batt_level(vb) check_batt(my_capacity) batt_UI(my_capacity)